// 分类模块
import { topCategory } from '@/api/constants'
import { findAllCategory } from '@/api/category'
export default {
    namespaced: true,
    state() {
        return {
            // 分类信息集合,依赖topCategory重新设置，保证初始化设置，使页面不白屏
            list: topCategory.map(item => ({
                name: item
            }))
        }
    },
    mutations: {
        // 修改分类数据
        setCategoryList(state, value) {
            state.list = value
        },
        // 修改当前一级分类下的open数据为true
        show(state, id) {
            const category = state.list.find(item => item.id === id)
            category.open = true
        },
        // 修改当前一级分类下的open数据为false
        hide(state, id) {
            const category = state.list.find(item => item.id === id)
            category.open = false
        }
    },
    actions: {
        async getCategoryList(context) {
            // 获取分类数据
            const data = await findAllCategory()
                // 给一级分类加上一个控制二级分类显示隐藏的数据open
            data.result.forEach(item => {
                    item.open = false
                })
                // 修改分类数据
            context.commit('setCategoryList', data.result)
        }
    }
}